package pers.cj.pdos.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import pers.cj.pdos.entity.Goods;
import pers.cj.pdos.entity.GoodsSnLog;
import pers.cj.pdos.vo.GoodsSnLogVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 操作sn的操作记录 Mapper 接口
 * </p>
 *
 * @author chenj
 * @since 2020-02-21
 */
public interface GoodsSnLogMapper extends BaseMapper<GoodsSnLog> {

    void insertBatch(@Param("list") List<GoodsSnLog> list);

    void deleteByGoods(@Param("goodsId") String goodsId);

    void batchDeleteByGoodsList(@Param("list")List<Goods> list);

    List<Map> listVoPage(@Param("page")Integer page,
                         @Param("limit")Integer limit,
                         @Param("goodsId") String goodsId,
                         @Param("sn")String sn,
                         @Param("storeId") String storeId,
                         @Param("houseId") String houseId);

    Long count(@Param("goodsId") String goodsId,
            @Param("sn")String sn,
            @Param("storeId") String storeId,
            @Param("houseId") String houseId);

    /**
     * 根据进货单id来更新序列号日志表的borrow字段
     * @param inGoodsId
     * @param borrow
     */
    void updateBorrowByInGoodsId(@Param("inGoodsId") String inGoodsId, @Param("borrow")Integer borrow);

    void updateBorrowBySaleId(@Param("saleId") String saleId, @Param("borrow")Integer borrow);
}
